﻿using System.Windows.Forms;
using Libium.Adapters;
using Libium.UseCases;
using Libium.Views;

namespace Libium.Bindings
{
    public class StandardBindService :BindService
    {
        public StandardBindService(IAdaptService adaptService)
            :base(adaptService)
        {
            AddBinder<ICommand, ICommandView>((service, element, view) => new CommandBinding(service, element, view));
			AddBinder<ITextUseCase, ITextView>((service, element, view) => new TextBinding(service, element, view));
            AddBinder<ITextEditUseCase, ITextEditView>((service, element, view) => new TextEditBinding(service, element, view));
            AddBinder<ICheckUseCase, ICheckView>((service, element, view) => new CheckBinding(service, element, view));
            AddBinder<IChoiceUseCase, IChoiceView>((service, element, view) => new ChoiceBinding(service, element, view));
            AddBinder<IImageUseCase, IImageView>((service, element, view) => new ImageBinding(service, element, view));
            AddBinder<IFileUseCase, IFileView>((service, element, view) => new FileBinding(service, element, view));
        }
    }
}
